//webpack配置会和公共的webpack.config.js进行合并

const path = require('path')

function resolve(dir) {
    return path.join(__dirname, '.', dir)
}
module.exports = {
    chainWebpack: config => {
        // svg rule loader
        const svgRule = config.module.rule('svg') // 找到svg-loader
        svgRule.uses.clear() // 清除已有的loader, 如果不这样做会添加在此loader之后
        svgRule.exclude.add(/node_modules/) // 正则匹配排除node_modules目录
        svgRule.test(/\.svg$/).use('svg-sprite-loader').loader('svg-sprite-loader').options({ symbolId: 'icon-[name]' })
    },
    configureWebpack: {
        module: {
            rules: [
                {
                    test: /\.(svg)(\?.*)?$/,
                    exclude: [resolve('src/icons/svg')],
                    use: [
                        {
                            loader: 'file-loader',
                            options: {
                                name: 'img/[name].[hash:8].[ext]',
                            },
                        },
                    ],
                },
            ],
        },
    },
    // 执行 npm run build 统一配置文件路径（本地访问dist/index.html需'./'）
    publicPath: '/',
    // 输出文件目录
    outputDir: 'dist',
    assetsDir: 'static',
    devServer: {
        //端口号
        port: 8710,
        //ip 本地
        host: '0.0.0.0',
        //热更新
        hotOnly: true,
        //自动启动浏览器
        open: false,
        proxy: process.env.VUE_APP_SERVER
        // proxy: {
        //     '/api': {
        //         //目标接口域名
        //         target: 'http://192.168.129.100:8700/',
        //         //是否跨域
        //         changeOrigin: true,
        //         rewritePath: {
        //             '^/api': ''
        //         }
        //     }
        // },
    },
}
